package com.cxso.example.request.location;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 多车定位入参
 */
@Getter
@Setter
public class LocationVnoTransTimeManageRequest implements Serializable {

    @Schema(description = "车牌号")
    @NotBlank(message = "车牌号不能为空")
    @Pattern(regexp = "([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1})", message = "车牌号不正确")
    private String vclN;

    @Schema(description = "车牌颜色(1 蓝色、2 黄色、3 黄绿色)", example = "2")
    @NotBlank(message = "车牌颜色不能为空")
    private String vco;

    @Schema(description = "始发地坐标", example = "116.31795,30.4252")
    private String startLonlat;

    @Schema(description = "目的地坐标系", example = "110.9946817,25.908981")
    private String endLonlat;

    @Schema(description = "始发地行政区划编码", example = "431102")
    private String startAreaCode;

    @Schema(description = "目的地行政区编码", example = "450324")
    private String endAreaCode;

    @Schema(description = "时间范围，单位:小时，指返回车辆最近时间范围内的最后定位信息", example = "24(注:单位为小时，结合需要实际使用情况动态设置)")
    private Integer timeNearby;

    @Schema(description = "文件id")
    private String fileId;
}
